The present invention relates to video coding/decoding systems and, in particular, to video coding/decoding systems that use noise templates in post-processing.
Video compression generally involves coding a sequence of video data into a lower bit rate signal for transmission via a channel. The coding often involves exploiting redundancy in the video data via temporal or spatial prediction, quantization of residuals and entropy coding. Video coding often is a lossy process—when coded video data is decoded after having been retrieved from a channel, the recovered video sequence replicates but is not an exact duplicate of the source video. Moreover, video coding techniques may vary based on variable external constraints, such as bit rate budgets, resource limitations at a video coder and/or a video decoder or display sizes that are being supported by the video coding systems. Thus, a common video sequence coded according to two different coding constraints (say, coding for a 4 Mbits/sec channel vs. coding for a 12 Mbits/sec channel) likely will introduce different types of data loss. Data losses that result in video aberrations that are perceptible to human viewers are termed “artifacts” herein. Other data losses may arise that are not perceptible to human viewers; they would not be considered artifacts in this discussion.
In many coding applications, there is a continuing need to maximize bandwidth conservation. When video data is coded for consumer applications, such as portable media players and software media players, the video data often is coded at data rates of approximately 8-12 Mbits/sec. Apple Inc., the assignee of the present invention, often achieves coding rates of 4 MBits/sec from source video of 1280×720 pixels/frame, up to 30 frames/sec. At such low bit rates, artifacts are likely to arise in decoded video data. Moreover, the prevalence of artifacts is likely to increase as further coding enhancements are introduced to lower the bit rates of coded video data even further.
Accordingly, the inventors perceive a need in the art for systems and methods to mask the effects of visual artifacts in coded video data. There is a need in the art for such techniques to mask visual artifacts dynamically, in a manner that adapts to video content. Moreover, there is a need in the art for such techniques that allow an encoder and decoder to interact in a synchronous manner, even if the encoder and decoder are unable to communicate in real time.